#ifndef _STRINGUTILITY_H_
#define _STRINGUTILITY_H_

#include <e32cmn.h>
#include <e32base.h>

namespace Util
{
class CStringUtility : public CBase
{
public:
	static CStringUtility* NewL(const TDesC& aDes);
	static CStringUtility* NewLC(const TDesC& aDes);
	
	virtual ~CStringUtility();

	TPtrC NextToken(const TDesC& aSep);
	TBool Eof();
	void ResetToken() {iCurPos = 0;}

	void AssignL(const TDesC& aDes);
private:
	CStringUtility();
	void ConstructL(const TDesC& aDes);
private:
	TInt iCurPos;
	HBufC* iBuf;
};
}

#endif